As is well known, modern forward error coding such as Turbo-codes, LDPC or Polar codes have become a ubiquitous component of modern communication systems. Traditionally Turbo-codes are better suited and used for large code block size and high data rate, the most recent low data rate versions of the LTE standard, cat-M1 and cat-NB-IoT (NB=narrowband) include Turbo-codes in their specifications. Moreover, it is foreseen that Turbo-codes, LDPC and or Polar codes will be considered in 5G, also known as New Radio in 3GPP context.
Both hardware and software implementations of Turbo decoders (TDC) employ a large amount of parallelization of the extensive internal computations to meet the throughput requirements. In the context of New Radio (NR), it is anticipated that the system will be flexible enough to accommodate a variety of services, from critical services requiring extreme low latency to best effort service, with much more relaxed time constraints. Other schemes considered include broadband mobile services as well as the possibility to serve a large number of devices. Most often, three main families of services are referred to: eMBB (enhance mobile broadband), URLLC (Ultra Reliable and Low Latency Communications) and MMTC (Massive Machine Type Communications).
With respect to resource allocation techniques, i.e. how the system maps the message to be transmitted onto available radio resources, modern wireless communications systems use a time/frequency grid. For instance, Time-Division Multiple Access (TDMA) uses the time dimension only and sequentially assigns the time resource to different users. In other words, all frequency resources are allocated to the same user at a given instant. Conversely, in classic Frequency-Division Multiplexing the resources are defined purely in the frequency domain. In most wireless systems based on OFDM (Orthogonal Frequency-Division Multiplexing), resource allocation uses both the time and frequency domains. Although the waveforms may overlap in the frequency domain, being orthogonal makes it possible to separate multiple user signals. Typically, the channel band is separated into subcarriers and a basic resource allocation structure is defined as a minimum number of subcarriers for a minimum time entity. In LTE a resource block (RB) comprises 12 subcarriers and an LTE data frame is divided into subframes which represent one Transmission Time Interval (TTI). In addition, with the use of multi-antenna, it is possible to use another dimension, the spatial dimension, on top of the time and frequency dimensions.
For recent and future wireless systems (5G, also known as New Radio in 3GPP), it is expected that any code block could be spread on the time-frequency grid in various manners, e.g. on a few frequency subcarriers but on many TTIs, or conversely on a few TTIs but on many subcarriers or any combination in between. Moreover, it is expected that the TTI or frequency grid could be of variable dimension within a single frame.
In the shorter term, one could see that cat-M (Cat-M1) and NB-IoT (NB1) are two examples of such flexible use of the time-frequency grid, in which the information bits are either spread into one TTI over 6 RBs (for cat-M1) or over 6 TTIs on 1 RB (for NB1), for example. This example simplifies the way Cat-M and NB1 are actually defined, however it does illustrate the different manner in which the time/frequency grid can be used. Moreover, in the context of low-end categories of devices (for instance trackers, sensors, smart meters some health monitoring devices etc.), the throughput requirement is no more stringent, and reduction of the number of parallel engines in the channel code decoder could be of interest. As a result, the constraints on the decoder could vary substantially from very high throughput & low latency to low throughput & high latency. From the implementation perspective, the receiver should be configured for any possible scenario.
As examples, both CAT-M and NB-IoT consider repetition in the time domain to improve the signal-to-noise ratio (SNR) and hence increase coverage. Because of the narrowband nature of NB-IoT, such repetition could be done only in the time domain. This is because before being able to decode, the receiver may have to wait and accumulate several repetitions to reach a certain SNR. Conversely, for eMBB or low latency communication, a large amount of data is send to the receiver, typically using large instantaneous bandwidth (many RBs in parallel). The receiver needs to decode the incoming data almost immediately in order to satisfy the throughput and latency requirement of the system.
These two extreme examples show the need to have a flexible receiver design that is able to accommodate a variety of possible scenarios, with the information spread over the time/frequency grid in any possible manner.
Beyond the mapping of the information into the time/frequency grid, it should be also noted that the requirement to deliver the decoded block may vary too: for critical (stringent) services (very low latency), the decoder may have to decode the code block as quickly as possible, whereas for non-critical services, the decoder may have relaxed requirements to deliver the code block.
As already mentioned, the decoders have been traditionally optimized for high throughput services, with a high amount of parallelization.
Accordingly, it is desirable to design a decoder engine for modern forward error correction codes that is flexible enough to efficiently fulfil the above large variety of use cases (over the full range of latency and throughput requirements and including power requirements of the device tasked with decoding), for which information to be decoded could be either spread in frequency and/or in time with different granularities.